這篇開始是 Computer Vision 電腦視覺系列。CV 可以說是 deep learning 中最火熱的領域,申請國外研究所年年擠破頭。DL x CV 的發展是從何開始?處理圖像又有什麼難題?這要從 ImageNet 說起。
2006 年,當時 CV 的世界還是圍繞在演算法的改進。有上過傳統 CV 課的應該知道,那時候的技術注重在開發演算法做特徵提取以利進行下游的應用,例如找出臉部的輪廓做人臉辨識等等。
而也是在這年, Fei-Fei Li 籌組了一個研究小組,仿效知名的文字關係 dataset WordNet,開始進行大規模的 image labeling 計畫,收集大量的圖像並用 crowdsourcing 的方式標記圖像。這個 image database 在 2009 年發表,稱為 ImageNet。
—— ImageNet。[1]
ImageNet 包含了超過 1400 萬張圖片,分類多達 2 萬種,也是當時史無前例的超大圖像資料庫。提出後每年舉辦圖像分類比賽 ILSVRC,在 2015 年正確率甚至超越了人類。也是從 ImageNet 開始,data 在 CV 受到更多的重視,重要程度有時甚至超越了演算法和 model 本身。
而有了大量的 data,再搭配已經漸漸成熟的電腦硬體帶來的效能提升,讓原本不受重視的 neural network 又重新受到了學術界的注目。大家發現 neural network 訓練在海量 data 上,能在短時間之內突破好幾年以來許多圖像任務的最佳成績,便紛紛投入 deep learning 的懷抱。
又深訓練又久的 network 成為標配:2012 年的 ILSVRC 由 Krizhevsky 等人提出的 AlexNet 運用 GPU 訓練出一個非常深的 CNN,表現甚至贏過第二名超過 15%;2015 年微軟研究團隊提出的 ResNet 加入了 residual 的概念,相當於在 network 中加了捷徑讓 gradient 反饋更有效,才得以訓練在更深的 model 上,最後成果也突破了人類的正確率。在短短幾年內,CV 領域因為 deep learning 有了許多重大突破。
—— AlexNet and ResNet。[3]
雖然整個任務聽起來只是收集並 label data 並不特別厲害,但他的突破在於展示收集大量 data 搭配 deep learning 能帶來的驚人成效,以及讓學術界能快速訓練在其之上,專心於開發更好的 model。ImageNet 對 CV 領域的貢獻也讓他在十年後 2019 年獲頒 Longuet-Higgins Prize。
Image classification 算是 CV 最基礎的 task。但 image 有很多變化,讓這個看似簡單的 task 多了很多難點:
—— Image 的變化。[4]
這也是為什麼根據物體特性開發演算法很不實際,因為你的 model 要掌握這麼多的變化。
Data-driven approach 旨在讓 model 從海量 data 中自己摸索出這些變化,學會一張圖片中的重點在哪裡、物體不同 level 的特徵、形體接近但不同種類的主要差別等等。這也是為什麼 data 在 CV 的世界裡顯得更重要!
最後提出一些自己對 CV 和 NLP 兩個領域的看法。
CV 應用非常廣,舉凡機器人、自駕車、圖像影片分析、醫療影像分析、圖片生成等等,都是對人類社會很有幫助的領域。他的難點在於資料運算處理和資料多樣性,以及很多應用所要求的精準度。首先大量 2D 甚至 3D 圖片要進入 model 做運算,那肯定是比文字來的吃不消,如何最有效率的進行運算也是個難題。再來多樣性上面有提到,但是有時候再多的 data 可能還是訓練不出一個 model 可以在某些人類一眼能辨識的圖片上找出解答。最後是他許多應用都要求極高的精準度,包括自駕車需要精準判定是不是有人衝出來、醫療圖像判定的失誤也可能攸關生死等等。這也是為什麼 CV 這幾年來雖然發展迅速,卻依然充滿許多研究機會和發展空間。
NLP 的應用也很多,機器翻譯、文意分析、對話系統、聲音處理等等,都是很有趣的主題,但似乎都不及 CV 應用來得迫切需要。但個人認為 NLP 要達到人類程度的困難度,卻是 CV 領域的很多倍。具體來說,像是 evaluation metric 需要檢驗文字的流暢度、多樣性、正確性等等,很多都還是以人類給分比較有參考價值。再來文意理解方面,一個句子裡一字之差,文意可以直接相反;文字中包含情緒,或是諷刺這種表面是正實質是負的特性,也比圖像理解來得困難。
不過主要原因還是,語言是人類智慧的結晶吧。世界上很多動物都有視覺功能、都能理解圖像,但只有人類能發展出完整與多樣的語言系統。要追上這樣的人類智慧,是 NLP 領域目前還望塵莫及的目標!